﻿/**
 * Object login()
 * @base eXria.form.Page
 * @constructor
 * @class login
 * @author wonki at 12. 2. 20 오전 9:10
 */
var login = function() {
	// extends eXria.form.Page Object
	eXria.form.Page.call(this, "login"); //$NON-NLS-1$
	
	var fname = "";
	var lname = "";
	var email ="";
	var emilcon = "";
	var passwd ="";
	var sex ="";
	var birthday = "";
	// TODO 
	
	
	//가입시
	this.onClick_btn2 = function(e /*:eXria.event.Event*/) {
		sex = page.getControl("cbb1").value;
		birthday = page.getControl("dip1").value;
		
		//회원정보 입력 창의 어느하나라도 빠져잇는 경우를 판단하는 조건
		if(fname=="" ||lname=="" || email=="" || emailcon=="" || passwd=="" || sex==""||birthday==""){
			alert("가입정보를 모두 입력 부탁드립니다.");
		}else{
			//각각 인스턴스에 담기
			page.getInstance("instance").setValue("/root/join/fname",fname);
			page.getInstance("instance").setValue("/root/join/lname",lname);
			page.getInstance("instance").setValue("/root/join/email",email);
			page.getInstance("instance").setValue("/root/join/emailcon",emilcon);
			page.getInstance("instance").setValue("/root/join/passwd",passwd);
			page.getInstance("instance").setValue("/root/join/sex",sex);
			//서브미션 실행
			page.getSubmission("join").send();
			//서브미션실행후 리턴값을 인스턴스에서 빼어내와 성공 실패여부 확인
			var cnt = page.getInstance("instance").getValue("/root/resnum");
			if(cnt == 0 || cnt==null){
				alert("가입실패");
			}else{
				alert("가입성공");
				//가입성공후 각 입력창 빈공간으로 만듬
				page.getControl("ipb3").setValue("");
				page.getControl("ipb4").setValue("");
				page.getControl("ipb5").setValue("");
				page.getControl("ipb6").setValue("");
				page.getControl("scb1").setValue("");
				page.getControl("cbb1").setValue("");
				page.getControl("dip1").setValue("");
			}
		}
	};
	
	//성입력
	this.onBlur_ipb3 = function(e /*:eXria.event.Event*/) {
		fname = page.getControl("ipb3").value;
		if(numnon(fname)){
			page.getControl("ipb3").setValue("");
			page.canvas.setFocusByControl(page.getControl("ipb3"));
		}
	};
	
	
	//이름 입력
	this.onBlur_ipb4 = function(e /*:eXria.event.Event*/) {
		lname = page.getControl("ipb4").value;
		if(numnon(lname)){
			page.getControl("ipb4").setValue("");
			page.canvas.setFocusByControl(page.getControl("ipb4"));
		}
	};
	
	//이메일 입력
	this.onBlur_ipb5 = function(e /*:eXria.event.Event*/) {
		email = page.getControl("ipb5").value;
		//이메일의 
		// 골벵이 개수 체크하는 함수 호출
		var chmail = mailnon(email);
		
		
		//이메일이 비어있는지 여부확인
		if(email!=""){
			//골벵이가 없거나 1개 초과인경우 메시지 띄움
			if(chmail!=1){
					alert("메일주소를 확인하여 주세요");
					page.canvas.setFocusByControl(page.getControl("ipb5"));
			//골벵이가 없거나 이메일에 골벵이의 인덱스가 .의 인덱스보다 크지않고 .이 인덱스 가 -1이 아니라면
			}else if(chmail!=0 && email.indexOf("@")>email.indexOf(".")&&email.indexOf(".")!=-1){
				alert("메일주소를 확인하여 주세요");
				page.canvas.setFocusByControl(page.getControl("ipb5"));
			}else if(chmail!=0 && email.indexOf(".")==-1){
				alert("메일주소를 확인하여 주세요");
				page.canvas.setFocusByControl(page.getControl("ipb5"));
			//.뒤에 아무것도 없을 경우
			}else if(chmail!=0 && email.indexOf(".")== maillenth-1){
				alert("메일주소를 확인하여 주세요");
				page.canvas.setFocusByControl(page.getControl("ipb5"));
			}else{
			//모든 조건에 부합하면 서브미션을 통해서 아이디 중복여부 확인
				page.getInstance("instance").setValue("/root/reqmail",email);
				page.getSubmission("chkmail").send();
				page.getControl("ipb7").refresh();
			//인스턴스를 직접 가져오지 않고 컨트롤에 담음 그리고 컨트롤의 값을 가지고 값을 비교
				var mailcnt = page.getControl("ipb7").getValue();
				if(mailcnt==0){
					alert("사용 가능한 아아디 입니다.");
				}else{
					alert("사용 불가한 아아디 입니다. 다시 입력해 주세요");
					page.getControl("ipb5").setValue("");
					page.canvas.setFocusByControl(page.getControl("ipb5"));
					page.getInstance("instance").setValue("/root/reqmail","");
				}
			}
		}
		
	};
	
	//이메일 확인 입력
	this.onBlur_ipb6 = function(e /*:eXria.event.Event*/) {
		email = page.getControl("ipb5").value;
		emailcon = page.getControl("ipb6").value;
		//이메일이 비어 있는 경우
		if(emailcon!=""){
			//이메일과 이메일 확인을 비교하는 조건문
			if(email != emailcon){
				alert("메일 주소가 맞지 않습니다.");
				page.canvas.setFocusByControl(page.getControl("ipb6"));
			}
		}
	};
	
	
	
	
	
	
	
	//이름입력시 숫자가 여부를 확인해주는 함수
	function numnon(label){
		labelcnt = label.length;
		var IsC = false;
		//문자의 개수만큼 반복문
		for(var i = 0; i<labelcnt; i++){
			//해당 문자열에 숫자가 포함되어 있는지 확인
			if(label.charAt(i)>=0 &&label.charAt(i)<=9){
				alert("숫자를 포함할 수 없습니다.");
				IsC=true;
				break;
			}
		}
		return IsC;
	};
	
	//이메일 입력시 메일창 안에 골벵이의 개수를 세는 함수
	function mailnon(email){
		maillenth = email.length;
		var cnt = 0;
		for(var i = 0; i<maillenth; i++){
			if(email.charAt(i).indexOf("@")!=-1){
				cnt++;
			}
		}
		return cnt;
	};
	
	//비밀번호 입력
	this.onBlur_scb1 = function(e /*:eXria.event.Event*/) {
		passwd = page.getControl("scb1").value;
		passlength = passwd.length;
		
		var cnt = 0;
		var ncnt = 0;
		
		//비밀번호 입력시 알파벳 대소문자 개수와 숫자의 개수를 카운트
		for(var i=0; i<passlength; i++){
			if(passwd.charAt(i)>='a'&&passwd.charAt(i)<='z'||passwd.charAt(i)>='A'&&passwd.charAt(i)<='Z'){
				cnt++;
			}
			if(passwd.charAt(i)>=0&&passwd.charAt(i)<=9){
				ncnt++;
			}
		}
		//패스워드가 비어 있지 않을때
		if(passwd!=""){
			//8자부터 12자사이가 아닐경우
			if(passlength <= 7 || passlength >= 13){
				alert("비밀번호는 8~12 입니다.");
				page.canvas.setFocusByControl(page.getControl("scb1"));
			//문자와 숫자 중 둘중에 하나라도 포함하지 않는경우
			}else if(cnt==0 || ncnt==0){
				alert("비밀번호는 문자와 숫자포함 8~12자 입니다.");
				page.canvas.setFocusByControl(page.getControl("scb1"));
			}
		}
		
			
	};
	
	
	//약과나 클릭시 생년월일 창띄우기
	this.onClick_lbl17 = function(e /*:eXria.event.Event*/) {
		page.getControl("frf3").visible = true;
		page.getControl("frf3").refresh();
		
	};
	
	
	//생년월일 설명창 사람짐
	this.onClick_btn3 = function(e /*:eXria.event.Event*/) {
		page.getControl("frf3").visible = false;
		page.getControl("frf3").refresh();
	};
	
	
	//생년월일 마우스 오버(밑줄 생김)
	this.onMouseOver_lbl17 = function(e /*:eXria.event.Event*/) {
		page.getControl("lbl17").textDecoration = "underline";
		page.getControl("lbl17").refresh();
	};
	
	//생년월일 마우스 아웃(밑줄 없어짐)
	this.onMouseOut_lbl17 = function(e /*:eXria.event.Event*/) {
		page.getControl("lbl17").textDecoration = "blink";
		page.getControl("lbl17").refresh();
	};
	
	
	//약관 글자 클릭시
	this.onClick_lbl23 = function(e /*:eXria.event.Event*/) {
		page.openPage("msp", "provision.xrf", eXria.form.PageType.POPUP, "width=1110 height=768 status=yes toolbar=yes menubar=yes location=yes resizable=yes scrollbars=yes titlebar=yes fullscreen=yes");
//		
	};
	
	
	//약관 마우스 오버(밑줄 생김)
	this.onMouseOver_lbl23 = function(e /*:eXria.event.Event*/) {
		page.getControl("lbl23").textDecoration = "underline";
		page.getControl("lbl23").refresh();
	};
	
	
	//약관 마우스 아웃(밑줄 사람짐)
	this.onMouseOut_lbl23 = function(e /*:eXria.event.Event*/) {
		page.getControl("lbl23").textDecoration = "blink";
		page.getControl("lbl23").refresh();
	};
	
	
	//로그인버튼 클릭시
	this.onClick_btn1 = function(e /*:eXria.event.Event*/) {
		logmail = page.getControl("ipb1").value;
		logpass = page.getControl("scb2").value;
		page.getInstance("instance1").setValue("/root/reqdata/mail",logmail);
		page.getInstance("instance1").setValue("/root/reqdata/passwd",logpass);
		
		page.getSubmission("login").send();
		page.getControl("lbl24").refresh();
		var cnt = page.getControl("lbl24").getValue();
		
		if(cnt==1){
			page.open("main.xrf");
		}else{
			alert("아이디 또는 패스워드를 확인하십시요.");
			page.canvas.setFocusByControl(page.getControl("ipb1"));
		}
	};
	
	this.onClick_lbl1 = function(e /*:eXria.event.Event*/) {
		page.open("login.xrf");
	};
};
